home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_01_05 / 1n05032a < prev    next >
Text File  |  1990-08-18  |  2KB  |  48 lines

  1.  
  2. /* Listing 1 */
  3. /* Copyright 1990 by Gary R. Olhoeft */
  4. /* written in MicroWay NDP C-386 to run under the Phar Lap extensions to DOS */
  5. #include <stdio.h>   /* required for file access */
  6. void setvga();
  7. void set512();
  8. void plot_image_32();
  9. int _pmode;
  10.  
  11. main(argc, argv)     /* use arguments to get filename containing image */
  12. int argc;
  13. char *argv[];
  14.   {
  15.   unsigned char imag[737280]; /* enough to hold 512x480x24-bit image */
  16.   FILE *stream_in;
  17.   char file_in[80];  
  18.   int i;
  19.   if (argc<2)       /* if not enough arguments, show how to execute */
  20.     {
  21.       printf("The calling sequence for this program is:\n");
  22.       printf("\nrun386 plotpxl drive:\\path\\filename.PXL\n\n");
  23.       printf("It plots *.pxl files in 512x480x32 mode on the Hercules GSC.\n\n");
  24.       exit();
  25.     }
  26.   _pmode=0x8000;             /* binary file access mode */
  27.   strcpy(file_in,argv[1]);   /* put filename in file_in */
  28.   if ((stream_in = fopen(file_in,"r")) == NULL) { strcat(file_in,".pxl\0");}
  29.   if ((stream_in = fopen(file_in,"r")) == NULL)   /* try to open file */
  30.      {
  31.        printf("Cannot find File %s\n",file_in);
  32.        exit(0);
  33.      }
  34.   else
  35.      {
  36.      printf("Reading Image File %s\n",file_in);
  37.      i=fread(imag,1,737280,stream_in); /* read whole image 3x512x480 bytes */
  38.      i=fclose(stream_in);
  39.      }
  40.  
  41.   set512();             /* set Hercules Station Card in 512x480x32-bit mode */
  42.   plot_image_32(&imag); /* send image address and plot image on screen */
  43.   getch();              /* wait until key is pressed */
  44.   setvga();             /* return to VGA mode */
  45.   exit(0);
  46.   }
  47.  
  48.